home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / term43-source.lha / Extras / Source / gtlayout-Source.lha / LTP_PrintLabel.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-21  |  964 b   |  45 lines

  1. /*  GadTools layout toolkit
  2. **
  3. **  Copyright © 1993-1994 by Olaf `Olsen' Barthel
  4. **  Freely distributable.
  5. */
  6.  
  7. #include "gtlayout_global.h"
  8.  
  9. VOID __regargs
  10. LTP_PrintLabel(LayoutHandle *handle,ObjectNode *node,UWORD left,UWORD top)
  11. {
  12.     STRPTR    label;
  13.     LONG    len;
  14.  
  15.     LTP_SetAPen(&handle -> RPort,handle -> TextPen);
  16.  
  17.     Move(&handle -> RPort,left - (node -> LabelWidth + INTERWIDTH),top + handle -> RPort . TxBaseline);
  18.  
  19.     label = node -> Label;
  20.  
  21.     len = 0;
  22.  
  23.     while(label[len] && (label[len] != '_'))
  24.         len++;
  25.  
  26.     LockLayerRom(handle -> RPort . Layer);
  27.  
  28.     if(len)
  29.         Text(&handle -> RPort,label,len);
  30.  
  31.     if(label[len] == '_' && label[len + 1])
  32.     {
  33.         SetSoftStyle(&handle -> RPort,FSF_UNDERLINED,AskSoftStyle(&handle -> RPort));
  34.         Text(&handle -> RPort,label + len + 1,1);
  35.         SetSoftStyle(&handle -> RPort,FS_NORMAL,AskSoftStyle(&handle -> RPort));
  36.  
  37.         label += len + 2;
  38.  
  39.         if(len = strlen(label))
  40.             Text(&handle -> RPort,label,len);
  41.     }
  42.  
  43.     UnlockLayerRom(handle -> RPort . Layer);
  44. }
  45.